package com.kmzx.one.project.service;

import com.kmzx.one.project.entity.UserOrder;
import com.kmzx.one.project.net.OrderParam;
import com.kmzx.one.project.others.dto.OrderBackInfo;
import com.kmzx.one.project.others.dto.UserOrderFinalInfo;
import com.kmzx.one.project.others.dto.UserOrderMoreInfo;
import com.kmzx.one.project.others.dto.UserOrderOutInfo;

import java.util.List;
import java.util.Map;

public interface UserOrderService extends BaseService {

    List<UserOrderOutInfo> findUserAllOrder(String userId, Integer pageNum, Integer pageSize, Integer kinds) throws Exception;

    UserOrderMoreInfo findUserOrderDetail(String orderId) throws Exception;

    Integer doCancelOrder(String userId, String orderId, String reason) throws Exception;

    Map<String, Object> findOrderExpressInfo(String orderId) throws Exception;

    Integer doExchangeOrder(String orderId, int what, String reason, String[] pics) throws Exception;

    Integer doConfirmOrder(String orderId) throws Exception;

    UserOrderFinalInfo doGenOrder(OrderParam orderParam) throws Exception;

    Object doPayOrder(String orderId, String userId) throws Exception;

    UserOrder findUserOrderByCodes(String orderNo) throws Exception;

    Integer doDelOrder(String orderId, String userId) throws Exception;

    OrderBackInfo findSubOrderBack(String orderId) throws Exception;

    // 直升物品下单
    UserOrderFinalInfo doGenFastOrder(OrderParam orderParam) throws Exception;
}
